package com.carkeeper.storebill.service;

import com.carkeeper.storebill.pojo.StoreBill;
import com.carkeeper.storebill.pojo.StoreBillShow;
import com.github.pagehelper.PageInfo;

import java.util.List;
import java.util.Map;

public interface StoreBillService {

    /**
     * 根据条件查询
     * 账单编号 商家名称 支付状态 账单起始时间 账单结束时间
     * @param searchMap 查询条件集合
     * @return 账单实体集合
     */
    PageInfo<StoreBill> findByCondition(Map<String,String> searchMap);

    /**
     * 根据code查询账单信息
     * @param code 账单编码
     * @return 账单实体
     */
    Map<String,Object> findByCode(String code);


    /**
     * 查询所有的支付状态
     * @return 支付状态的集合
     */
    List<String> findPayStatusList();

    /**
     * 以商家聚合查询所有商家账单概要
     * @return
     * 用于服务商账单支付页面数据初始化
     */
    PageInfo<StoreBillShow> findShowStoreBill(Map<String,String> searchMap);

    /**
     * 根据商家id查询所有未支付的账单
     * @param storeId
     * @return 账单集合
     */
    List<StoreBill> findNotPayStoreBillByStoreId(Integer storeId,Map<String,String> searchMap);


    void PayStoreBillByCode(String code);


}
